先跟著官網簡單的範例創建第一個3D場景,連接到 Day3 新增的按鈕
修改 index.js 新增當 day3 按鈕按下時指定呈現 day5.ejs 的頁面
router.get('/Day3', function(req, res, next) {
  res.render('day5', { title: 'Day5' });
});
在 views 資料夾底下新增一個 day5.ejs 的檔案,在 head 引入 Three.jshttps://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
Body 部分指定當連結到 day5.ejs 時需要使用 public/javascripts/day5.js,來呈現 three.js 的世界
<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel='stylesheet' href='/stylesheets/style.css' />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
  </head>
  <body>
    <br>
    <div id="stats"></div>
    <script src="/javascripts/day5.js"></script>
    <br>
  </body>
</html>
在 public/javascripts 底下新增 day5.js 的檔案,依照官網的範例先建立場景及相機
// 建立場景
  scene = new THREE.Scene()
  // 建立相機
  camera = new THREE.PerspectiveCamera(
    75,
    window.innerWidth / window.innerHeight,
    0.1,
    1000
  )
  camera.position.set(10, 10, 10)
  camera.lookAt(scene.position)
接著建立渲染器
  // 建立渲染器
  renderer = new THREE.WebGLRenderer()
  // 設定背景顏色
  renderer.setClearColor(0xeeeeee, 1.0)
  // 陰影效果
  renderer.shadowMap.enable = true 
  // 陰影貼圖種類   
  renderer.shadowMap.type = 2
  // 場景大小
  renderer.setSize(window.innerWidth, window.innerHeight) 
  // 將渲染器的 DOM 綁到網頁上
  document.body.appendChild(renderer.domElement)
建立光源
  let pointLight = new THREE.PointLight(0xffffff)
  pointLight.position.set(10, 10, -10)
  scene.add(pointLight)
建立物件
const geometry = new THREE.BoxGeometry(1, 1, 1) // 幾何體
  const material = new THREE.MeshPhongMaterial({
    color: 0x00ff00
  }) // 材質
  cube = new THREE.Mesh(geometry, material) // 建立網格物件
  cube.position.set(2, 1, 0)
  scene.add(cube)
建立動畫使物體旋轉
function animate() {
  cube.rotation.x += 0.01
  cube.rotation.y += 0.01
}
也可以加入線
 const material1 = new THREE.LineBasicMaterial( { color: 0x0000ff } );
  const points = [];
  points.push( new THREE.Vector3( - 1, 0, 0 ) );
  points.push( new THREE.Vector3( 0, 1, 0 ) );
  points.push( new THREE.Vector3( 1, 0, 0 ) );
  const geometry1 = new THREE.BufferGeometry().setFromPoints( points );
  const line = new THREE.Line( geometry1, material1 );
  scene.add(line);
呼叫渲染器
function render() {
  animate()
  requestAnimationFrame(render)
  renderer.render(scene, camera)
}
執行 node app.js 後點入 day3 的按鈕,就可以看到一個正在旋轉的方塊和設定好的線了
https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene